package com.edu.leetcode.dataStruct;

import java.util.Arrays;

/**
 * @作者 five-five
 * @创建时间 2021/1/5
 */
public class Demo04 {
    public static void main(String[] args) {
        Demo04 demo04 = new Demo04();
        int i = demo04.missingNumber(new int[]{1,2});
        System.out.println(i);
    }

    /**
     * 268:
     * 给定一个包含 [0, n] 中 n 个数的数组 nums ，找出 [0, n] 这个范围内没有出现在数组中的那个数。
     * @param nums
     * @return
     */
    public int missingNumber(int[] nums) {
        int length=nums.length;
        if (length == 1) {
            return length-nums[0];
        }
        int[] ints = Arrays.stream(nums).sorted().toArray();
        if (ints[ints.length - 1] != length) {
            return length;
        }
        int i=0;
        while (i < length) {
            if (i + 1 < length) {
                if (ints[i + 1] - ints[i] != 1) {
                    return ints[i]+1;
                }
            }
            i++;
        }
        return 0;
    }
}
